#ifndef VENTANADIALOGO_H
#define VENTANADIALOGO_H

#include <gtkmm/builder.h>
#include <gtkmm/window.h>
#include <gtkmm/dialog.h>

#include "Configuraciones.h"


class VentanaDialogo {
	protected:
		Gtk::Dialog* _pVentana;
		Glib::RefPtr<Gtk::Builder> _builder;

		Configuraciones** _ppconfig;

		// Carga los datos en la ventana
		virtual void setearParametros() =0;

	public:
		// Desde el "builder" obtiene la referencia a la ventana de dialogo 
		// y la asocia al "menuItem" con el nombre indicado
		VentanaDialogo(Glib::RefPtr<Gtk::Builder> b, std::string nomWidget, std::string nomMenuItem, Gtk::Window& parentWin);
		virtual ~VentanaDialogo();

		// Funciones que definen el comportamiente de los botones del
		// cuadro de dialogo
		virtual void aceptar() =0;
		virtual void cancelar() =0;

		// Abre al dialogo asociado a esta ventana de dialogo
		void abrirDialogo();

		// Guarda una referencia al contenedor de parametros
		void setDataSource(Configuraciones** cfg);
};


#endif
